Recently, rapid development has been found in the industries field relating to digital communications such as the Internet, digital cellular phones. Under such circumstances, basic studies for high-speed high-quality communications of information of importance have been intensively made. Of these studies, error correction techniques are part and parcel of establishment of high-quality communications using unstable communications paths such as digital mobile communications.
Turbo-coding is remarkable error correction codes that enable high-quality data communications to be made with a lesser amount of energy and have drawn wide attraction in recent years. In the field of digital mobile communications, this technique is highly expected to be adopted as a next-generation standard.
On the other hand, in the field of the CDMA (Code Division Multiple Access) technique, which is also expected to be a next-generation standard, the technique of interference cancellation for reducing interference has markedly drawn attraction because the capacity of the system is limited depending on the amount of interference.
Turbo coding is a new coding scheme published in 1993, and is constructed of a combination of two (or more than two) kinds of systematic convolutional coding (C. Berrou et al. “Near Shannon Limit error-correcting coding: Turbo codes”, Proceedings of ICF93 or “Near Optimum error-correcting coding: Turbo codes”, IEEE Transactions on Communications, Vol.44, no.10, 1996). The decoding process of turbo codes is featured by reducing errors by successively repeating decoding operations of these two kinds of systematic convolutional codes. Here, the configuration of the Turbo encoder and decoder and its decoding method will be described briefly. For detailed information, reference should be made to Isaka et al., ‘Fingerpost to Shannon limit: “parallel concatenated (Turbo) coding”, “Turbo (iterative) decoding” and its surroundings’, Technical Report IT98-51 of The Institute of Electronics, Information and Communication Engineers, J. Hagenauer “Iterative Decoding of Binary Block and Convolutional Codes”, IEEE Transactions on Information Theory, Vol.42, No.2 1996, and the like.
An encoder for turbo codes is shown in FIG. 10 and a block diagram of its decoder is shown in FIG. 11. Two recursive systematic convolutional code (RSCC) encoders 1 and 2 are provided in parallel with an interleaver 3 interposed therebetween. An original information bit sequence X is rearranged into an interleaved stream, which is input to the second encoder 2. Now, provided that the coding rate of the recursive systematic convolutional encoder is 1/2, parity bits Y1 and Y2, which are obtained from respective encoders 1 and 2, are added to the original information bit X, to produce a turbo code with a coding rate of 1/3.
With the decoder shown in FIG. 11, a decoder 4 first performs decoding of the first systematic convolutional codes, then the decoded result, after being processed through an interleaver 5, is supplied to a decoder 6, where decoding of the second systematic convolutional codes is performed. This result is further processed through deinterleaver 7 to be supplied to decoder 4 where decoding of the first systematic convolutional codes is performed again. This iterative decoding gradually improves the reliability of decoded symbols and reduces errors.
In decoding of systematic convolutional codes implemented in the process of the turbo coding, it is necessary to have the decoded result in addition with soft-decision information in order for it to be used for the subsequent decoding step. Decoder 4, which corresponds to RSCC1, receives the signal (Lc y) that is obtained by having the received symbols weighted in proportion to the SNR (signal to noise ratio) and extrinsic information (likelihood information) and outputs the decoded result L(u) with the logarithm of likelihood ratio and extrinsic information Le(U) which is passed over to the subsequent decoder.
There are several decoding methods which can provide soft-decision result. Here, the MAP will be described.
MAP (Maximum A Posteriori Probability) decoding is one that determines, for each information symbol uk, the uk which will maximize the P(uk) under a condition where a received signal sequence y is given, as the decoded result. For this purpose, LLR (logarithm likelihood ratio: L(uk)) is determined in the following equation (1)                               L          ⁡                      (                          u              k                        )                          =                              log            ⁢                                                   ⁢                                          P                ⁡                                  (                                                            u                      k                                        =                                                                  +                        1                                            |                      y                                                        )                                                            P                ⁡                                  (                                                            u                      k                                        =                                                                  -                        1                                            |                      y                                                        )                                                              =                      log            ⁢                                                   ⁢                                                            ∑                                                            (                                                                        s                                                      k                            -                            1                                                                          ,                                                  s                          k                                                                    )                                        ,                                                                  u                        k                                            =                                              +                        1                                                                                            ⁢                                  p                  ⁡                                      (                                                                  s                                                  k                          -                          1                                                                    ,                                              s                        k                                            ,                      y                                        )                                                                                                ∑                                                            (                                                                        s                                                      k                            -                            1                                                                          ,                                                  s                          k                                                                    )                                        ,                                                                  u                        k                                            =                                              -                        1                                                                                            ⁢                                  p                  ⁡                                      (                                                                  s                                                  k                          -                          1                                                                    ,                                              s                        k                                            ,                      y                                        )                                                                                                          (                  Eq          .                                           ⁢          1                )            where                               p          ⁡                      (                                          s                                  k                  -                  1                                            ,                              s                k                            ,              y                        )                          =                ⁢                              p            ⁡                          (                                                s                                      k                    -                    1                                                  ,                                  y                                      j                    <                    k                                                              )                                ·                      p            ⁡                          (                                                s                  k                                ,                                                      y                    k                                    |                                      s                                          k                      -                      1                                                                                  )                                ·                      p            ⁡                          (                                                y                                      j                    >                    k                                                  |                                  s                  k                                            )                                                              =                ⁢                              p            ⁡                          (                                                s                                      k                    -                    1                                                  ,                                  y                                      j                    <                    k                                                              )                                ·                      p            ⁡                          (                                                s                  k                                |                                  s                                      k                    -                    1                                                              )                                ·                      p            ⁡                          (                                                s                  k                                ,                                                      y                    k                                    |                                      s                                          k                      -                      1                                                                      ,                                  s                  k                                            )                                ·                      p            ⁡                          (                                                y                                      j                    >                    k                                                  |                                  s                  k                                            )                                                              =                ⁢                                            α                              k                -                1                                      ⁡                          (                              s                                  k                  -                  1                                            )                                ·                                    γ              k                        ⁡                          (                                                s                                      k                    -                    1                                                  ,                                  s                  k                                            )                                ·                                                    β                k                            ⁡                              (                                  s                  k                                )                                      .                              αk−1(sk−1)=P(sk−1,yj<k) is the possibility of the state being sk−1 at time k−1, determined recursively from the initial state. βk(sk)=P(yj>k|sk) is the possibility of the state being sk at time k, similarly determined from the final state. γk(sk−1,sk) is the possibility of the transition from the state sk−1 at time k−1 to the state sk at time k, and is given as the following equation (2):γk(sk−1,sk)=P(sk|sk−1)·p(yk|sk)  (Eq.2) 
The above Eq. (2) can be calculated by Eq. (3 as follows:                                           γ            k                    ⁡                      (                                          s                                  k                  -                  1                                            ,                              s                k                                      )                          =                  exp          ⁡                      [                                                            1                  2                                ⁢                                                      u                    k                                    ⁡                                      (                                                                                            L                          e                                                ⁡                                                  (                                                      u                            k                                                    )                                                                    +                                                                        L                          c                                                ⁢                                                  y                          k                          s                                                                                      )                                                              +                                                1                  2                                ⁢                                  L                  c                                ⁢                                  y                  k                  p                                ⁢                                  x                  k                  p                                                      ]                                              (                  Eq          .                                           ⁢          3                )            αk(sk) and βk(sk) are obtained recursively by the following equations (4) and (5).                                           α            k                    ⁡                      (                          s              k                        )                          =                              ∑                          s                              k                -                1                                              ⁢                                                    γ                k                            ⁡                              (                                                      s                                          k                      -                      1                                                        ,                                      s                    k                                                  )                                      ·                                          α                                  k                  -                  1                                            ⁡                              (                                  s                                      k                    -                    1                                                  )                                                                        (                  Eq          .                                           ⁢          4                )                                                      β                          k              -              1                                ⁡                      (                          s                              k                -                1                                      )                          =                              ∑                          s              k                                ⁢                                                    γ                k                            ⁡                              (                                                      s                                          k                      -                      1                                                        ,                                      s                    k                                                  )                                      ·                                          β                k                            ⁡                              (                                  s                  k                                )                                                                        (                  Eq          .                                           ⁢          5                )            
With these, the logarithm of likelihood ratio L(uk) is determined by the following equation (6)                               L          ⁡                      (                          u              k                        )                          =                  log          (                                                    ∑                                  S                  +                                            ⁢                                                                    α                                          k                      -                      1                                                        ⁡                                      (                                          s                                              k                        -                        1                                                              )                                                  ·                                                      γ                    k                                    ⁡                                      (                                                                  s                                                  k                          -                          1                                                                    ,                                              s                        k                                                              )                                                  ·                                                      β                    k                                    ⁡                                      (                                          s                      k                                        )                                                                                                      ∑                                  S                  -                                            ⁢                                                                    α                                          k                      -                      1                                                        ⁡                                      (                                          s                                              k                        -                        1                                                              )                                                  ·                                                      γ                    k                                    ⁡                                      (                                                                  s                                                  k                          -                          1                                                                    ,                                              s                        k                                                              )                                                  ·                                                      β                    k                                    ⁡                                      (                                          s                      k                                        )                                                                                )                                    (                  Eq          .                                           ⁢          6                )            where   ∑      S    +  indicates the summation when uk−1 and   ∑      S    -  indicates the summation when uk=−1.
Further, the extrinsic likelihood information Le(uk) to be sent to the subsequent systematic convolutional code encoder is obtained by subtracting the weighted, received signal Lcyks and the extrinsic likelihood information Lc(uk) that was input to this decoder, from the above logarithm of likelihood ratio L(uk).
Here, in the above-described turbo encoder, two systematic convolutional encoders 1 and 2 are used in parallel with an interleaver 3 in between, but two systematic convolutional encoders 1 and 2 may be used serially as shown in FIG. 12 to construct a serial concatenation of interleaved codes (SCCC), which also function as similar error correcting codes. In the configuration shown in FIG. 12, a puncture P is interposed between the parallel/serial converter P/S on the downstream side of systematic convolutional encoder 1 and interleaver 3 so as to thin out part of the bit sequence, to thereby improve the coding efficiency of the outer code encoder.
Also in the decoding process of serially concatenated convolutional codes, soft-input soft-output decoders are used to successively decode two kinds of systematic convolutional codes in a similar manner to the way the turbo codes are decoded as shown in FIG. 13, so as to able to reduce errors by performing iterative decoding using the likelihood information of the previously decoded result. Here, the systematic convolutional encoder 1 as the outer-code encoder (FIG. 12) and the systematic convolutional encoder 2 as the inner-code encoder may be configured of other systematic convolutional encoders. For the detail of the SCCC, reference should be made to Sergio Benedetto et al. “Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding”, IEEE Transactions on Information Theory, Vol.44, No.5 May 1998.
Next, interference cancelers for removing interference with other stations in the CDMA system will be described. Many study reports have been presented on the interference cancelers for removing interference with other stations in the CDMA system. For example, Y. C. Yoon et al. “A Spread-Spectrum Multiaccess System with Cochannel Interference Cancellation for Multipath Fading Channels”, IEEE Journal on Selected Areas in Communications, vol.11, No.7, September 1993.
When k users share the same frequency by code division multiple access, the received signal is formulated by the following equation (7).                               r          ⁡                      (            t            )                          =                              n            ⁡                          (              t              )                                +                                    ∑                              k                =                1                            K                        ⁢                                          s                k                            ⁡                              (                                  t                  -                                      τ                    k                                                  )                                                                        (                  Eq          .                                           ⁢          7                )            
In this case, for a user who tries to receive s1(t), the other signals sk(t)(k≠1) are interference signals which degrade the communication quality. To deal with this, as shown in the following equation (8), the receiver of s1(t) demodulates signals sk(t)(k≠1) at the same time to produce replica signals rsk(t) and subtracts them from the received signal to thereby remove the interference components from the signal.                                           r            ⁡                          (              t              )                                -                                    ∑                              k                =                2                            K                        ⁢                                          rs                k                            ⁡                              (                                  t                  -                                      τ                    k                                                  )                                                    =                                            s              1                        ⁡                          (                              t                -                                  τ                  1                                            )                                +                      n            ⁡                          (              t              )                                +                      E            ⁡                          (              t              )                                                          (                  Eq          .                                           ⁢          8                )            
Here, since the replica signals are not always correct, some error (the term e(t)) may arise if this is so. This error will be generated by decision errors of the demodulated data and/or estimation errors of τk. Since use of the data judged from the signal having undergone interference cancellation improves the accuracy of the replicas, it can be expected that multiple numbers of canceling will be able to reduce the error ratio of the wanted signal step by step. This scheme is called subtract type multi-stage canceller.
In the conventional schemes, the decoding process of error correcting codes and the interference cancellation are performed separately. Therefore, if interference cancellation is imperfect, this is regarded as noise which is impossible to be removed, causing deterioration of error correcting capability.
Further, since complex decoding is needed when error correcting codes such as convolutional codes are used, it is considered that it is difficult to combine multi-stage interference cancellation with the decoding process.
The present invention has been devised in order to solve the above problems, it is therefore an object of the present invention to provide a parallel or serial concatenated convolutional code decoder which is able to perform decoding of error correcting codes and interference cancellation simultaneously with a simple configuration.